#include <iostream>

using namespace std;

int n;
string path = ""; // 记录递归过程中，每一步的决策

//n个位置，先不选，再选——>....
//当已经n位后，就输出
void dfs(int pos)
{
	if(pos > n)
	{
		cout << path << endl;
		return;
	}
	
	path += "N";
	dfs(pos + 1);
	path.pop_back(); // 恢复现场

	path += "Y";
	dfs(pos + 1);
	path.pop_back(); // 恢复现场
}

int main()
{
	cin >> n;
	dfs(1);

	return 0;
}
